package com.redoor.app.stake.basicdata.service;

import com.redoor.app.stake.basicdata.model.BaseParkingSpace;
import com.redoor.app.stake.basicdata.model.controllerModel.BaseParkingSpaceCriteria;
import com.redoor.app.stake.basicdata.model.serviceModel.BaseParkingSpaceServiceBean;
import com.redoornetwork.framework.core.response.ResponseResult;
import com.redoornetwork.framework.mybatis.service.Service;

import java.util.List;

/**
 * Created by wangjunlei on 2018-02-12 10:08:10.
 */
public interface BaseParkingSpaceService extends Service<BaseParkingSpace, String> {

    /**
     * 根据停车区uuid获取其下所有停车位,并且标注停车位是否已经绑定枪
     *
     * @author ZhangMumu
     * @date 2018/3/22 0022 14:58
     * @param
     * @return
     */
    List<BaseParkingSpaceServiceBean> qryParkingSpaceByParkingAreaUuidOrderByBindCharger(String parkingAreaUuid);

    /**
     *  停车位列表方法  
     *   
     * @author ZhangMumu  
     * @date 2018/3/21 16:55  
     * @param
     * @return   
     */  
    List<BaseParkingSpaceServiceBean> qryParkingSpaceList(BaseParkingSpaceCriteria criteria);
    /**  
     *  获取停车位数量
     *   
     * @author ZhangMumu  
     * @date 2018/3/21 0021 17:53  
     * @param   
     * @return   
     */  
    int qryParkingSpaceCnt(BaseParkingSpaceCriteria criteria);
    /**  
     *  新增或者修改停车位
     *   
     * @author ZhangMumu  
     * @date 2018/3/22 0022 17:54
     * @param   
     * @return   
     */
    BaseParkingSpace savePrakSpace(BaseParkingSpace baseParkingSpace);
    /**  
     *  停车位删除
     *   
     * @author ZhangMumu  
     * @date 2018/3/22 0022 21:19  
     * @param   
     * @return   
     */  
    int delParkSpace(String uuid);
    /**  
     *  生成停车位编码
     *   
     * @author ZhangMumu  
     * @date 2018/3/28 0028 14:26  
     * @param
     * @return
     */  
    String genParkSpaceCode(String parkingAreaUuid);
    /**
     * 停车位详情页面
     * @Author zhangYiHang
     * @Date 2018/4/3 15:48
     * @Param
     */
    BaseParkingSpaceServiceBean qryParkingSpaceByUuid(String uuid);
    /**
     * 根据停车位名称查询对象数
     * @Author zhangYiHang
     * @Date 2018/4/3 16:33
     * @Param
     */
    int qryParkingSpaceCountByName(String name);

    /**
     * 根据停车区uuid查询是否绑定停车位,并且判断停车位是否绑定枪
     * 未绑定位:0,已绑定位未绑定枪:1,绑定位且绑定枪:2
     * @Author zhangYiHang
     * @Date 2018/4/15 17:33
     * @Param
     */
    int qryParkingBingChanage(String uuid);
}
